1. Technical Field
The present invention is generally related to multimedia delivery over a distributed network. Particularly, the present invention is related to techniques for instant playback of a title ordered from a local machine, wherein the local machine is not preloaded with data.
2. Description of the Related Art
FIG. 1 shows a video delivery system 100 that is commonly used for delivering video services over a network. The video delivery system 100 includes a video server 102 that is sometimes referred to as a head-end. Through a data network 104, the video server 102 can provide continuous, scheduled and video-on-demand (VOD) services to respective client machines 106-1, 106-2, . . . 106-n (i.e., its subscribers). Hence, the system 100 is a typical client-server architecture with one server 102 serving a plurality of client machines 106-1, 106-2, . . . 106-n. The server 102 is further coupled to a media storage device 112 that may be configured to store various media files (e.g., movies or news footage). The media storage device 112 must be on-line and must store and supply titles scheduled or demanded for delivery to any of the client machines 106-1, 106-2, . . . 106-n.
To ensure quality of service (QoS), the bandwidth requirement of the network path (e.g., 108-1, 108-2, . . . 108-n) to each of the client machines 106-1, 106-2, . . . 106-n has to be sufficient. However, as the number of the subscribers continues to increase, the demand on the bandwidth of the backbone network path 110 increases linearly, and the overall cost of the system 100 increases considerably at the same time. If the server has a fixed bandwidth limit and system support capability, an increase in the number of subscribers beyond a certain threshold will result in slower transfer of data to clients. In other words, the transmission of the video data over the network 104 to the subscribers via the client machines 106-1, 106-2, . . . 106-n is no longer guaranteed. When the video data is not received in a client machine on time, the display of the video data may fail or at least become jittery.
To alleviate such loading problem to the video server 102, a video delivery system often employs multiple video servers as rendering farms, perhaps in multiple locations. Each of the video servers, similar to the video server 102, is configured to support a limited number of subscribers. Whenever the number of subscribers goes beyond the capacity of a video server or the bandwidth thereof, an additional video server needs to be deployed or additional bandwidth needs to be allocated. Subsequently, overall costs go up considerably when more subscribers sign up with the video delivery system 100.
An alternative solution to the typical client-server architecture shown in FIG. 1 is what is commonly referred to as “peer-to-peer” architecture. In a peer-to-peer network, systems such as Kazaa, eDonkey, Gnutella, and Direct Connect, facilitate ordinary Internet users to trade files by directly connecting one-to-one. One of the advantages in a peer-to-peer system is that files can be shared without having access to a proper server and because of this there is little accountability and absolute no management for the contents of the files. Hence, these networks tend to be very popular for illicit files such as music, movies, pirated software, etc.
Typically in such a peer-to-peer system, a downloader receives a file from a single source. If the file is popular, the single source may be in high demand that in return slows down the sharing of the file. In reality, there is a greater chance that a popular file may be offered by a number of peers (e.g., one of them has previously obtained a copy from an original source). In addition, there is a significant protocol overhead in these peer-to-peer systems. For every search query received, an entire system must be inquired (i.e., all available peers have to be inquired). In reality, the number of peers that one can reach is often limited as a result. Further the availability of a particular file is generally dependent on the goodwill of the users.
There, thus, is a great need for a system that facilitates users in the system to receive a desired file from specified client machines under the management of a service provider.